
f4 = Math.sin( f5 / Math.max(.000000001,Math.abs(f15)) );
f1 *= f6;

{
	double tempFollow3Var = f12;
	f12 = f9;
	f9 = f15;
	f15 = tempFollow3Var;
}

f6 = Math.min(f2,f1);

f9 = Math.sin( f5 / Math.max(.000000001,Math.abs(f15)) );

f1 = Math.sin( f5 / Math.max(.000000001,Math.abs(f4)) );

f16 += f14;
if(1 < f16){
	f16 -= 2;
}else if(f16 < -1){
	f16 += 2;
}




if(0 < f12){ 
	if(f11 < 0){ f11 -= 2*f12*f11; }
}else{ 
	if(0 < f11){ f11 -= 2*f12*f11; }
}








{
	double radius = Math.sqrt(f16*f16 + f2*f2);
	double angle = Math.asin(f2/Math.max(.000000001,radius));
	if(f16 < 0){ angle += Math.PI; }
	double speed = 1 / Math.max(.000000001, Math.abs(f9));
	angle += f7*speed;
	f16 = Math.max( -1., Math.min(radius*Math.cos(angle), 1.) );
	f2 = Math.max( -1., Math.min(radius*Math.sin(angle), 1.) );
}

f14 -= f3;
if(1 < f14){
	f14 -= 2;
}else if(f14 < -1){
	f14 += 2;
}


f8 -= f9;
if(1 < f8){
	f8 -= 2;
}else if(f8 < -1){
	f8 += 2;
}


f3 = Math.min(f10,f1);

f10 += f12;
if(1 < f10){
	f10 -= 2;
}else if(f10 < -1){
	f10 += 2;
}
f4 *= f1;

f12 = Math.min(f11,f10);



if(0 < f1){
	f9 *= 1 - f1;
	f9 += 0 < f12 ? f0 : f4;
}else{ 
	if(0 < f12){
		f0 *= 1 - (-f1);
		f0 += (-f1)*f9;
	}else{
		f4 *= 1 - (-f1);
		f4 += (-f1)*f9;
	}
}

f6 = Math.min(f10,f1);

f1 = Math.sin( f5 / Math.max(.000000001,Math.abs(f6)) );

f6 = Math.min(f10,f8);








{
	double radius = Math.sqrt(f0*f0 + f8*f8);
	double angle = Math.asin(f8/Math.max(.000000001,radius));
	if(f0 < 0){ angle += Math.PI; }
	double speed = 1 / Math.max(.000000001, Math.abs(f5));
	angle += f13*speed;
	f0 = Math.max( -1., Math.min(radius*Math.cos(angle), 1.) );
	f8 = Math.max( -1., Math.min(radius*Math.sin(angle), 1.) );
}

f15 = Math.min(f11,f12);

{
	double tempFollow3Var = f12;
	f12 = f5;
	f5 = f14;
	f14 = tempFollow3Var;
}

f5 = Math.sin( f3 / Math.max(.000000001,Math.abs(f15)) );

f13 -= f12;
if(1 < f13){
	f13 -= 2;
}else if(f13 < -1){
	f13 += 2;
}

f7 *= f6;
f4 *= f14;